Simplified narrowband excision

ABSTRACT

An improved ingress cancellation filter comprising a Fast Fourier Transform circuit which replaces the analysis filter bank of the prior art to break the incoming signal down into sub bands, an ingress cancellation filter that weights each sub band based upon the probability that the sub band is corrupted by noise, and an inverse Fast Fourier Transform circuit to put the weighted sub bands back together into an output signal and replacing the synthesis filter bank of the prior art. Also, an improved predictor filter which can be used with CDMA circuitry by initializing the predictor filter at the beginning of each spreading interval using the samples received on the first L unused codes of the spreading interval.

BACKGROUND OF THE INVENTION

In the field of code division multiplexed data transmission systems suchas is used in digital data transmission over hybrid fiber coaxial (HFC)cable systems and DOCSIS compatible data delivery systems in particular,there is a problem of narrow band interference. This problem isparticularly found on the upstream transmissions in DOCSIS and othersuch non DOCSIS digital data delivery systems which deliver data overHFC (hereafter collectively referred to as DOCSIS systems). Because theupstream in a DOCSIS system is a noisy environment, there is a need toprovide ingress cancellation systems at the head end of such DOCSISsystems to find and cancel or suppress narrowband interference.

One such prior art system is taught in U.S. Pat. No. 6,426,983 assignedto Terayon Communication Sytems, Inc. This patent teaches use of banksof near perfect analysis and reconstruction filters to break thespectrum into more narrow bands which are then analyzed individually forthe presence of narrowband interference signals. Any band which is foundto have narrowband interference present has its samples suppressedduring the reconstruction. More precisely, the input signal is dividedinto a plurality of narrow frequency sub-bands using an analysis filterbank. Then the power in each sub band is monitored and compared to anadjustable or adaptive threshold in order to discriminate normal signalfrom narrowband interference. The signals that exceed the powerthreshold at the output of the sub bands are eliminated by replacingtheir sample values with zeroes). As the interference becomes lower andlower in power relative to the signal, completely eliminating thesamples throws away a large amount of useful signal just to get rid of asmall amount of interference. It would be better to weight each sub bandbased upon the amount of interferference in a sub band. Finally, theoutputs of all sub bands are reassembled into the full band signal usinga synthesis filter bank.

In the prior art U.S. Pat. No. 6,426,983, the analysis filters and thesynthesis filters are implemented as FIR filter banks. More efficientnarrowband interference cancellation requires that many narrow sub bandsbe used. This requires more FIR filters for the analysis and synthesisfilter banks which drives the costs up. A more efficient implementationfor the analysis and synthesis filter banks is needed. U.S. Pat. No.5,838,268 teaches the use of Fast Fourier Transform circuitry togenerate a plurality of separate carrier signals in a discrete multitonetransmitter and inverse Fast Fourier Transform circuitry to receive thetransmitted signal in the receiver.

FIG. 13 through FIG. 15 of the prior art U.S. Pat. No. 6,426,983 teach apredictor block circuit. This circuit is an adaptive FIR filter whichfunctions to reduce any residual narrowband interference after the ICFblock (ingress cancellation filter). The predictor block uses symboldecisions from the slicer to remove correlated (colored) noise in theslicer input. The predictor in code division multiple access (CDMA)systems operates after the despreader (in the code domain).

There is a need for a more efficient method of implementing the analysisand synthesis filter bank. There is also a need to improve theperformance of the ingress cancellation filter by using optimal sub bandweighting instead of censoring (setting all sample values in a sub bandcorrupted by narrowband interference to zero). There is also a need fora robust method for predictor fucntionality in CDMA systems.

SUMMARY OF THE INVENTION

The first improvement over the prior art is to weight sub bands inaccordance with the amount of interference in the sub band. As the ratioof the noise power of narrowband interfence to the power of the payloadsignal itself gets closer to one, the weights of the sub band samplesare set closer to one. The optimal way to calculate weights is throughuse of a Weiner filter and equation (3) given in the detaileddescription of the invention.

All species within the genus of the invention will use weights for subband samples as opposed to censoring where samples in sub bands whichare deemed to be corrupted by noise have their weights set to zero bymultiplying the samples by 0. Any way of calculating the weights willsuffice, but the Weiner filter is best. All species within the genuswill calculate weights of sub bands based upon the difference or ratiobetween noise power (or amplitude squared or just plain amplitude of thenoise signal) and the signal power (or amplitude squared or just plainamplitude of the signal). All species within the genus of the inventionwill multiply the weight calculated for each band times the samples forthat band or the analog signal level of each band.

A simplified implementation of an analysis filter bank and a synthesisfilter bank is also disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified conceptual model of the upstream with an ingresscancellation filter present.

FIG. 2 is a flowchart of the process the ingress cancellation filtercarries out.

FIG. 3 is a flowchart of a process to estimate the value of S_(dd).

FIG. 4 is a block diagram showing a more efficient implementation of afilter bank for the analysis filters which break the incoming signalinto sub bands.

FIG. 5 is a block diagram of the overall ingress cancellation filtershowing the sub band filtering/FFT circuitry, the ingress cancellationfilter and the synthesis filtering/inverse FFT circuitry.

FIG. 6 is a block diagram showing a more efficient implementation of asynthesis filter bank for recombining the weighted samples for each subband into an output signal.

FIG. 7 is a block diagram of a prior art predictor filterimplementation.

FIG. 8 is a flow chart of the operation of a predictor according to theinvention.

FIG. 9 is a diagram symbolizing the initialization of the predictorfilter FIFO at the beginning of each new spreading interval.

FIG. 10 is a circuit for calculating the weights for each sub band andweighting the samples for each sub band

DETAILED DESCRIPTION

FIG. 1 is a simplified conceptual model of the upstream with an ingresscancellation filter present. Vector 10, d, represents the upstreamtransmitted signal from the cable modem or other source. Vector 12, n,represents the additive noise as the signal propagates upstream andincludes additive white guaussian noise as well as narrowbandinterference. The combined transmitted signal d plus the additive noisewhich is input to the ingress cancellation filter 14 is represented byvector 16.

The function of the ingress cancellation filter is to remove or suppressthe noise and output only the payload signal as vector 18, d_(e). Onedifference of ICF filter 14 over the prior art represented by U.S. Pat.No. 6,426,983 is that if a sub band is found to be corrupted by noise,the samples of that sub band are not censored (multiplied by zero), butare weighted by some weighting factor whose value depends upon the ratioof the noise power to the signal power.

Formalizing the problem, we are interested in finding the optimal set ofweights to produce the best estimation of d_(e) from y, under theminimum mean square error criterion (MVSE).

The well known optimal MVSE solution is the Wiener filter, which has thefollowing formula: $\begin{matrix}{{H\left( e^{jw} \right)} = \frac{S_{dy}\left( e^{jw} \right)}{S_{yy}\left( e^{jw} \right)}} & (1)\end{matrix}$where S_(dy) is the Fourier transform of the cross correlation between dand y, and S_(yy) is the Fourier transform of the autocorrelation of y(the spectral density of y).

Assuming that d and n are not correlated, the Wiener filter takes theform: $\begin{matrix}{{H\left( e^{jw} \right)} = \frac{S_{dd}\left( e^{jw} \right)}{{S_{dd}\left( e^{jw} \right)} + {S_{m}\left( e^{jw} \right)}}} & (2)\end{matrix}$where S_(dd) is the Fourier transform of the autocorrelation of d (thespectral density of d). S_(nn) is the Fourier transform of theautocorrelation of n (the spectral density of n).

To drive the optimal solution for the proposed system, it is firstassumed that the sub bands are narrow enough, such that the spectrum ofthe signal and the noise in each sub band is white, i.e., flat spectraldensity. The spectral power density of S_(dd) and S_(nn) at any analysisfilter sub band becomes a constant, and equal to the average power ofS_(dd) and S_(nn) at this sub band.

Equation (2) will take the following form, which provides the solutionfor optimal weighting W(k) for each sub band k: $\begin{matrix}{{W(k)} = \frac{S_{dd}(k)}{{S_{dd}(k)} + {S_{nn}(k)}}} & (3)\end{matrix}$where S_(dd)(k) is the signal average power in the k^(th) sub band andS_(nn)(k) is the noise average power in the k^(th) sub band for k=1, 2,. . . N.

Therefore, the ingress cancellation filter system 14 in FIG. 1 operatesaccording to the flowchart of FIG. 2. A circuit for calculating theweights for each sub band and weighting the samples for each sub band isshown in FIG. 10 and this circuit will be discussed simultaneously withthe discussion of the process of FIG. 2 which it implements. Preferably,the process is employed to weight the samples in sub bands for upstreamtransmissions from a plurality of distributed cable modems over a hybridfiber coaxial cable system to a cable modem termination system, but thesame methodology can be used to do narrow band excision on other typesof signals such as cell phone transmissions.

The process of FIG. 2 can be carried out by any digital or analogcircuit capable of carrying out the functions detailed in FIG. 2, andone example is shown in FIG. 10. In the preferred embodiment, theprocess of FIG. 2 is carried out digitally using digital filters for thebanks of analysis and synthesis or reconstruction filters known from theprior art and using digital multiplication on the samples output by eachanalysis filter.

In step 20, a bank of analysis filters (or a microprocessor programmedto do a Fast Fourier Transform on the input signal) decomposes the inputsignal y into N sub bands. The samples from each sub band enter thecircuit of FIG. 10 on line 270. In step 22, the signal power S_(dd)(k)which is transmitted in each sub band is estimated. This can be done inDOCSIS systems using power level control data transmitted from the cablemodem termination system (CMTS) to the particular cable modem (CM) whosesignal is being processed. In DOCSIS systems, the CMTS carries out atraining process with each CM which involves measurement and adjustmentof power of transmissions from each CM such that transmissions from thatCM arrive at said CMTS at a nominal or desired power level. Thedownstream messages to each CM tell it by how much to adjust its powerof transmission to achieve this end. The CMTS controls the power oftransmission by each CM, so this data is used in the circuit of FIG. 10to develop an estimate of S_(dd)(k) for sub band k at time index m, saidestimate being supplied from the CMTS microprocessor or other circuitrycontrolling MAC layer processing on line 272.

In step 24 of FIG. 2, the average power at the output of each analysisfilter k is calculated to an estimate of S_(nn)(k)+S_(dd)(k). This isalso true if an FFT calculation is used to break the received signal upinto sub bands. Recall that S_(dd)(k) is the power spectral density ofthe transmitted signal before it gets corrupted with ingress noise inthe k^(th) sub band.

Also, recall that S_(nn)(k) is the power spectral density of the noisecomponent in the k^(th) sub band. In FIG. 10, an estimate of the powerin each sub band is calculated by circuits 274 and 276. Circuit 274calculates the power in each sample by multiplying each sample (acomplex number) times its conjugate. The result for each sample is inputto an averaging circuit 276 which does a moving average calculationusing a sliding window which is L samples wide. The calculation circuit276 performs is specified by the following equation:${P_{m}(k)} = {\frac{1}{L}{\sum\limits_{j = {m - L + 1}}^{m}{{abs}\left\lbrack {y_{j}(k)} \right\rbrack}^{2}}}$This calculation updates the average power of the received signal ineach sub band each time a new sample in this sub band is received. Thereis one of these circuits of FIG. 10 for each sub band in the preferredembodiment, but in other embodiments, one circuit is used to calculatethe weight of each sub band and weight the samples in a round robinmultiplexed way. Circuit 278 calculates the inverse of the average power(1/P_(m)(k)=1/[S_(nn)(k)+S_(dd)(k)]) so that the calculation of step 26in FIG. 2 can be made by a simple multiplication carried out inmultiplier 280. The result on line 282 is the weighting factor for subband k. This weighting factor is used to multiply each sample inmultiplier 290. The resulting weighted samples on line 292 are appliedto the bank of synthesis filters or the inverse FFT operation.

For each sub band k, step 26 divides S_(dd)(k) by S_(nn)(k)+S_(dd)(k)per equation (3) to derive the sub band weight W(k) for each sub band(circuits 278 and 280 in FIG. 10). The signal reconstruction processstarts with step 28. There, the output of each sub band analysis filteris multiplied by the appropriate weighting factor W(k) for that sub band(circuit 290 in FIG. 10). This causes any sub band signal that iscorrupted by significant amounts of noise relative to the signal powerto be weighted less than the signals from other bands which are notcorrupted by noise. In step 30, the weighted sub band signals arerecombined using the synthesis filter or filter bank to get the desiredoutput which is the estimated signal d_(e).

In many digital data communications systems, the transmitted signalpower spectral density S_(dd)(k) for each sub band is known in advance.For example, in DOCSIS systems, the cable modem termination system (CMTSor head end receiver) manages the power transmitted by each cable modemvia downstream messages during the training process. These messages tellthe cable modem whether to increase or decrease its transmitted powerlevel so as to result in reception at a nominal power level at the CMTS.In such systems, S_(dd)(k) can be derived for each sub band by scalingthe total power by the factor corresponding to the spectral power of thetransmit filter in the k^(th) sub band.

In other systems where the head end receiver does not control thetransmitted power, the signal power S_(dd)(k) can be estimated from thegain control loops, which are part of the head end receiver.

A method of estimating the signal power S_(dd) from the ICF itself is asshown in the flowchart of FIG. 3. The method starts at block 32 with thestep of averaging the power at each analysis filter sub band output. Instep 34, the sum of the power of all N sub bands is computed. In step36, the power of the L strongest sub bands is subtracted from the totalpower calculated in step 34. L is much less than N. In step 38, the newtotal power calculated in step 36 is scaled by the factor N/N−L toaccount for the signal lost by eliminating the L strongest sub bands.Finally, in step 40, the power of the signal S_(dd) in each sub band iscalculated by scaling the total power by a predetermined factorcorresponding to the spectral power of the transmit filter in the k^(th)sub band to derive S_(dd)(k).

The power estimation process can be a continuous operation, allowingS_(dd) to adaptively track variation in the received power.

The system of the invention provides the optimal values for singleweight per sub band implementation. However, if the spectrum in the subband is not flat, the optimal solution requires a filtering operation ineach sub band rather than multiplying with a single weight. Such animplementation is very costly, and the results in only a smallimprovement compared with a single weight multiplication. The systemdesigner can avoid the complications of filtering each sub band bynarrowing each sub band by increasing the number of analysis filters inthe analysis filter bank so as to achieve a flat spectrum, or to workwith a sub optimal solution using a single weight on a wider sub band.

The following table shows simulation results for signal-to-noise ration(SNR) after noise corrupted signal is processed by the ICF filteringprocess, comparing results using optimal weighting per the teachings ofthe invention versus censoring (weight=0 for sub bands where narrowbandinterference is found). This table shows that as the noise power of thenarrowband interference gets less (weight of the noise corrupted subband getting closer to one), the system of the invention begins tooutperform the prior art censoring system. For example, where the weightis 0.38 for a sub band, the system according to the teachings of theinvention outputs a signal with 23.3 dB signal to noise ratio as opposedto only 21.9 dB with a prior art censoring system. ICF output SNR withICF output SNR with weight = 0 C/I Weight optimized weight (prior artcensoring) 10 dB 0.07 22.0 dB 21.9 dB 11 dB 0.09 22.1 dB 21.9 dB 12 dB0.11 22.1 dB 21.9 dB 13 dB 0.13 22.2 dB 21.9 dB 14 dB 0.16  22.3 d/B21.9 dB 15 dB 0.2 22.5 dB 21.9 dB 16 dB 0.23 22.6 dB 21.9 dB 17 dB 0.2822.8 dB 21.9 dB 18 dB 0.33 23.0 dB 21.9 dB 19 dB 0.38 23.3 dB 21.9 dBEfficient Implementation of the Filter Banks

Like the prior art, the ICF filter 14 in FIG. 1 uses, in one embodiment,a bank of analysis filters to break the incoming signal down into subbands and a bank of synthesis filters to recombine the sub band signalsafter they have been processed to suppress sub band signals which may becorrupted by noise.

There follows a discussion of a more efficient way to implement theanalysis and synthesis filter banks. The following block parameters areused:

-   N=the number of sub bands that the signal is broken into;-   M=a decimation factor for the processing rate of the data samples at    each sub band branch;-   L_ana=the number of taps (coefficients) of the filter at each sub    band of the analysis filter;-   L_syn=the number of taps (coefficients) of the filter at each sub    band of the synthesis filter.    Analysis Filter Bank

The implementation of the analysis filter bank can be represented as afiltering operation followed by a Fast Fourier Transform operation.Prior art analysis filter banks such as those taught in U.S. Pat. No.6,426,983 required the use of multiple FIR filters (one for each subband) and required memory to store the coefficients for each filter.Further, there was much multiplication in each FIR filter ofcoefficients times sample values.

FIG. 4 is a block diagram showing the more efficient implementation. Thebasic analysis filter bank is comprised of an FFT calculation circuit 46preceded by an FIR filter operation comprised of FIFO 42, a multiplyaccumulate circuit 48 and a coefficients ROM 50. The FFT calculationcircuit 46 takes input sample vectors and outputs a string of complexnumbers on each of lines 52, 54 and 56. Each line 52, 54 and 56 carriesthe complex numbers that represent the amplitude and frequency ofmultiple Fourier frequency components that define the frequency spectrumof each sub band. The FIR filter imposes a pulse shape on the inputsamples V_(m)(0), V_(m)(1) . . . V_(m)(N−1) input to the FFT calculationcircuit 46 on lines 58, 60 and 62. Use of a single FFT calculationcircuit eliminates the need for multiple FIR filters, one for each subband. The FIR filter that imposes the pulse shape also saves ROM spaceby storing fewer coefficients since the pulse shape that is imposed onthe input samples is the same for each subband. That pulse shape isdefined by the coefficients g₀[k+0*N] through g₀₍[k+(L_(ana)−1N] outputon lines 64, 66 and 68. Imposing a pulse shape on the input samples tothe FFT modifies the square pulse shape per sub band which wouldotherwise result without the use of the FIR filter.

A FIFO buffer 42 with a memory length N*L_ana complex numbers is pushingin the current input sample x[n] on line 44 to the head of the FIFO(index 0 in FIFO 42) and throwing out the sample s[n−N*L_ana] from thebottom of the FIFO (index N*L_ana−1 in FIFO 42].

A single coefficient bank g₀ of length N*L_ana holds the coefficientvalues of the first sub band (the DC sub band).

An FIR filter operation outputs samples V_(m)[k] according to thefollowing formula: $\begin{matrix}{{V_{m}\lbrack k\rbrack}{\sum\limits_{i = 0}^{{L\_ ana} - 1}{{g_{0}\left( {k + {iN}} \right)}*{{Xfifo}\left\lbrack {\left( {{m*M} + {i*N} + k} \right){modN}} \right\rbrack}}}} & (4)\end{matrix}$where k is the sub band index k=0, 1, . . . , N−1

-   -   m counts continuous FFT intervals m=0, 1, . . .    -   modN is the modulo by N function.        The sequential FIR output V_(m)[k] is assembled into an N length        vector V_(m)={v_(m)(0), v_(m)(1), . . . , v_(m)(N−1)}. V_(m) is        the mth input to the N point FFT calculation circuit 46. The FFT        calculation circuit 46 outputs an N length vector Y_(m). The N        elements of Y_(m) are the desired N sub band outputs of the        analysis filter which corresponds to signal 61 in FIG. 5 of the        prior art U.S. Pat. No. 6,426,983.

The FIFO RAM 42 is of length N*L_ana. The coefficient ROM is of lengthN*L_ana. Using coefficient symmetry, the ROM can be reduced to sizeN/2*L_ana. An index generator 70 produces the index for the FIFO Xfifo42. The index generator also produces the index for the coefficient bank50 according to equation (4). Multiply and accumulate unit 48 performsthe multiplication operation defined in equation (4). A serial toparallel converter 72 converts the serial stream of FIR filtermultiplication results on line 74 output by multiply and accumulatecircuit 48 to a parallel format vector of length N for input to the FFTcalculation circuit. The FFT calculation circuit performs the FastFourier Transform operation on the input data to generate the sub bandspectra on lines 52, 54, etc.

FIG. 5 is a block diagram of the overall system to cancel narrowbandinterference. Block 74 breaks the received signal into sub bands. Thiscan be implemented as a bank of FIR analysis filters as in the prior artor it can be the more efficient implementation shown in FIG. 4. Block 76is the ingress calculation filter which calculates the weightingfunction for each sub band received on bus 78, multiplies the samples ineach sub band by the corresponding weighting factor and outputs theweighted sub band samples for each sub band on bus 80. Block 82represents the reconstruction process where the weighted samples fromeach sub band are recombined into an output signal. Block 82 can beimplemented with a bank of FIR synthesis filters as in the prior art orwith the more efficient inverse FFT calculation circuit followed by anFIR filter to be described next.

Synthesis Filter Bank

The implementation of the synthesis filter bank can be represented as aninverse Fast Fourier Transform operation followed by a filteringoperation. The inverse FFT operation is calculated using the weightedsamples output by the ingress calculation filter

FIG. 6 is a block diagram of a more efficient implementation of asynthesis filter which functions to reconstruct an output signal fromthe weighted sub band samples. The weighted samples of the first subband arrive from the ICF filter on bus 84. The weighted samples from thesecond sub band arrive from the ICF filter on bus 86 and so on for allthe sub bands with the Nth sub band samples arriving on bus 88. Block 90performs an inverse Fast Fourier Transform on the weighted samples ofeach sub band and outputs a vector R_(m)(k) of length N in parallelformat on buses 92, 94 . . . 96. This parallel format vector isconverted to serial format by parallel to serial format converter 98.The serial stream of samples is output on bus 100 to the input of a FIFORAM memory 102. The FIFO RAM 102 has a memory dept of N*L_syn complexnumber. The new sample is pushed to the head of the FIFO index (index 0in FIFO 102), and the FIFO throws out a sample from the bottom of theFIFO (index N*L_ana-1 in FIFO 102).

A single coefficient memory bank 104 called h₀ of length N*L_Syn holdsthe coefficients that define the filter transfer function for the firstsub band (the DC sub band). These coefficients are used for each subband and define a filter transfer function which causes said filter tooutput samples according to the following formula. $\begin{matrix}{{s\left( {{mM} + k} \right)} = {\sum\limits_{i = 0}^{{L\_ syn} - 1}{{h_{0}\left( {k + {iM}} \right)}*{{Hfifo}\left\lbrack {{\left( {m - i} \right)*N} + {\left( {k + {i*N}} \right){modN}}} \right\rbrack}}}} & (5)\end{matrix}$

-   where k is the filter's index k=0, 1, . . . M−1;-   and h₀(k+iM) is the coefficient output by block 104 for each index i    value;-   and m counts the the IFFT output vector element number m=0, 1, 2 . .    . N−1);-   modN is the modulo N function and the continuous index n=m*M+K.

The output samples s(n), where n=m*M+k=0, 1, 2 . . . are the samplesthat define the reconstructed output signal from the synthesis filterafter elimination of the narrowband interference components.

Therefore, the synthesis filter bank can be implemented using thefollowing components: 1) an IFFT (block 90) which performs an inverseFast Fourier Transform on the censoring block output; 2) a parallel toserial converter (blocks 98), converting the IFFT N length vector toserial stream; 3) a FIFO RAM of length N*L_syn (block 102); 4) acoefficient ROM (block 104) of length N*L_syn (using coefficientsymmetry, the ROM can be reduced in size to N/2*L_syn; 5) and indexgenerator (block 106) which generates indexes for the FIFO 102 and thecoefficients ROM 104 according to equation (5); and a multiply andaccumulate unit that multiplies the coefficients times the samples anddoes the summation per equation 5.

Robust Predictor Filtering Method in CDMA

In conventional TDMA systems that employ a predictor as part of theequalizer, the state of the predictor is continuous in time. This allowsthe filtering operation to be performed from sample to samplecontinuously. Referring to FIG. 14 in the prior art U.S. Pat. No.6,426,983 a predictor block diagram is taught. The general idea of apredictor circuit is to use a plurality of prior samples to predict thenoise present in the next sample to be received and to generate a signalwhich, when subtracted from the next sample received, causes theresulting sample input to the slicer to be noise free or at least nothave as much noise. In the prior art circuit of FIG. 14, filter 220 isthe predictor filter and is a conventional FIR with a FIFO which storesa string of samples which arrive on line 228. The coefficients on line242 are continually adapted to adjust the filter characteristics. Thesample containing only the predicted noise in the prior art design isoutput on line 222 and is subtracted in subtractor 224 to remove thenoise on the sample on line 220 before slicer 204 processes it to make adecision. The problem with the prior art predictor filter is thatalthough it works in TDMA systems, it does not work in CDMA systemsbecause the samples in the FIFO of the predictor filter need to belimited to samples from one sampling interval to predict the noise insamples from that same sampling interval and they are not so limited.

The invention is to improve upon that situation so that the predictorcan work in CDMA systems. The problem is to predict the noise in thefirst samples of the spreading interval using only prior samples fromthe same spreading interval. This is difficult to do since there are noprevious samples from the spreading interval when making a prediction onthe first sample in the spreading interval. The trick the inventionemploys to solve this problem is to initialize the FIFO of the predictorfilter at the beginning of each spreading interval with samples basedupon the unused codes of that spreading interval. In CDMA and SCDMADOCSIS systems there are unused codes in every spreading interval. Bycustom, the unused codes in a spreading interval are the first codes inthe code book. Since there is no data transmitted on the unused codes,any non zero samples received on an unused code is purely noise from thechannel. These “noise samples” received on the unused codes are used toinitialize the contents of the predictor FIR filter FIFO at thebeginning of each spreading interval.

Now for the details. The predictor circuit of the invention functions toperform the same purpose as the predictor filter of FIG. 14 in the priorart Pat. No. 6,426,983. The predictor filter of the invention is anadaptive FIR filter which functions to reduce any residual narrowbandinterference which is left after the ICF block (ingress cancellationfilter) performs its narrowband interference cancellation function. Thepredictor block uses symbol decisions from the slicer to removecorrelated (colored) noise in the slicer input. The predictor in codedivision multiple access (CDMA) systems operates after the despreader(in the code domain).

In the prior art predictor circuit of FIG. 14 of U.S. Pat. No.6,426,983, included here as FIG. 7 marked prior art, the input sampleson line 228 to the predictor filter 230 are continuous in time. Thestate of the predictor is composed of the last L consecutive inputsamples from line 228 which are stored in the FIR buffer memory. Whenprocessing a new sample, the state can be updated from the previousperiod of time to the next period continuously by simply throwing awaythe oldest sample in the memory and storing the new sample.

As noted earlier, when using the predictor in CDMA system, the predictoroperates in the code domain, i.e., after the de-spreading operation. Insuch a system, there is a problem of discontinuity between consecutivespreading intervals. The input samples in the FIR FIFO of the predictorcannot be continuously processed from one spreading interval to thepreceeding spreading interval as that causes the predictor to not workproperly. It is important that the predictor filter FIFO have onlysamples stored therein from the current spreading interval for which itis attempting to predict noise from the states of previous sampleswithin the same spreading interval.

More specifically, the state of the FIR in the CDMA system predictor iscomprised of L consecutive samples on line 228 in FIG. 7 correspondingto L sequential code locations. Looking at the signal content of sampleson line 228, it is composed of the slicer input minus the slicerdecisions. The slicer input on line 220 in FIG. 7 is composed of thedemodulated symbols plus the channel interference, e.g., the ingressnoise, projected into the code domain by the despreading operation.Thus, assuming a correct slicer decision, the transmitted signal is online 23, so the signal on line 228 in FIG. 7 contains only channelinterference projected onto the L current codes. This is becausesubtractor 226 subtracts the transmitted signal from the received signal(the transmitted signal plus noise projected into the code domain) andoutputs the result on line 228.

When processing the next sample in the next code location, the state ofthe predictor FIR is updated by throwing away the sample of the codewith the further index from the current index in the memory and storingthe new sample.

When the FIR has finished filtering the samples up to the last code inthe spreading interval, the next sample to be processed corresponds tothe first code in the next spreading interval. However, because of thespreading operation, there is a discontinuity of state between the thelast code of the spreading interval just processed in the predictor FIRand the first code of the next spreading interval to be processed by theFIR. By discontinuity, we mean the correlation relationship between theL last samples and the new sample inside a spreading interval, which isrepresented by the FIR coefficients, is not maintained when consideringthe last L samples in a spreading interval and the first samplebelonging to the next spreading interval.

The invention provides the following solution to this discontinuityproblem. The first L codes in each spreading interval will not carry anytransmitted payload symbols as there are unused codes in every DOCSISSCDMA spreading interval and may well be unused codes in other CDMAspreading intervals as well. Both the transmitter and the receiverrecognize these unused codes in the DOCSIS protocol and any otherprotocol of a CDMA system since the transmitter and receiver in CDMAsystems always must know which codes are being used. The transmitterwould not assign symbols to these unused codes before spreading thedata. At the receiver, the content of these unused codes is attributablepurely to the projection of channel interference, e.g., ingress noise,onto these unused codes. Thus, the content of these L samplescorresponding to the first L unused codes of each spreading intervalrepresents the desired state needed to predict the noise content of thenext sample (comprising payload data plus ingress noise andcorresponding to code index L+1).

Therefore, the predictor of the invention operates in a CDMA system inthe following fashion, as illustrated by the flowchart of FIG. 8A and8B. The process starts at step 250 and then proceeds to step 252 where anew sample is received and is stored in the FIR FIFO. Test 254 is thenperformed to determine if the new sample represents what was received onthe first code of a new spreading interval. If not, processing proceedsto step 258 to be described below. If the new sample represents thefirst code in a new spreading interval, step 256 is performed toinitialize the predictor filter FIFO with samples corresponding to thefirst L unused codes of the new spreading interval. This is the key tomaking the prior art predictor filter work properly in a CDMA system.

Next, step 260 is performed to adapt the predictor filter coefficients.Specifically, step 258 results in a prediction by the prediction filter230 in FIG. 7 as to what the noise will be added to the payload data onthe first sample transmitted on the first code that was used to transmitpayload data in the new spreading interval. This prediction is output online 222 and is subtracted by subtractor 224 from the FFE filteredreceived sample on line 220. Theoretically, the output sample on line232 should be noise free, but in the real world it often is not noisefree. This results in the slicer 204 outputting the transmitted symbo online 23 which differs from the symbol on line 232 which was input to theslicer. Subtractor 240 compares these two values and outputs thedifference on line 242 which is used to adapt the predictor filtercoefficients to attempt to reduce the error. Any least means squared,NLMS or other adaptation method may be used to adapt the predictorfilter coefficients.

In step 262, the predictor FIR filter state is updated by throwing awaythe the sample corresponding to the lowest code index, and storing thenewest interference sample on line 228 in the FIFO. Test 264 is thenperformed to determine if the sample just stored represents the lastsample in the current spreading interval. If not, processing proceeds online 266 back to step 258. If the sample just stored in the last samplein the current spreading interval, processing proceeds on line 268 backto step 256 to re-initialize the FIR filter FIFO with samplescorresponding to the first L unused codes of the new spreading interval.

FIG. 9 represents the predictor filter initialization processgraphically. The actual circuitry of the predictor filter of theinvention is as shown in FIG. 7 modified by a microprocessor that runsthe process of FIG. 8 to re-initialize the FIR filter 230 FIFOcoefficients with samples received on the first L unused codes of thenew spreading interval. Thereafter, during any particular spreadinginterval, the circuit of FIG. 7 works as shown. Therefore, themodifications to FIG. 7 needed to adapt it to the teachings of theinvention would, in one embodiment to make line 228 the output of a twoinput multiplexer with one input coupled to receive the output ofsubtractor 226 and the other input coupled to the microprocessor toreceive the samples received on the first L unused codes of each newspreading interval with the microprocessor keeping track of which codein each spreading interval each sample represents and controlling theswitching of the multiplexer.

Although the invention has been disclosed in terms of the preferred andalternative embodiments disclosed herein, those skilled in the art willappreciate that modifications and improvements may be made withoutdeparting from the scope of the invention. All such modifications areintended to be included within the scope of the claims appended hereto.

1. A method for weighting samples in a sub band of frequencies in anarrowband excision system for transmissions from a transmitter to areceiver, comprising the steps: 1) calculating the spectral density oraverage power of the transmitted signal transmitted from a transmitterto a receiver in a sub band of frequencies in a channel between saidtransmitter and said receiver; 2) calculating the spectral density oraverage power of the additive noise for said sub band for said a channelbetween said transmitter and said receiver; 3) dividing the spectraldensity or average power of said transmitted signal by the sum of thespectral density or average power of said transmitted signal and thespectral density or average power of said additive noise to derive theweighting factor for said sub band; 4) multiplying the values of samplesin said sub band times said weighting factor determined in step
 3. 2.The method of claim 1 wherein step 3 is carried out by calculating arunning average of the product of each sample's complex number times itsconjugate and then calculating the inverse of said average andmultiplying said inverse times the result from step
 1. 3. A method forweighting samples in a sub band of frequencies in a narrowband excisionsystem for transmissions from a plurality of cable modems in a DOCSIScompatible digital data transmission system to a cable modem terminationsystem, comprising the steps: 1) decomposing the signal received over ahybrid fiber coaxial cable system from a cable modem into a plurality ofsub bands using a bank of analysis filters or a fast fourier transformcalculation circuit; 2) estimating the transmitted signal power in eachof a plurality of sub bands of the transmitted signal from a cable modemwhose transmissions are being processed; 3) calculating the averagereceived signal power in each sub band of the signal received at saidcable modem termination system from a cable modem; 4) for each said subband, divide the estimated transmitted signal power in said sub bandcalculated in step 2 by the average received signal power calculated instep 3 to derive the weighting factor for each sub band; and 5) multiplythe samples in each sub band by the weighting factor calculated in step4 for said sub band.
 4. The process of claim 3 wherein step 1 is doneusing a bank of analysis filters.
 5. The process of claim 3 wherein step1 is done using a finite impulse response filter feeding the inputs of aFast Fourier Transform calculation circuit.
 6. The process of claim 3wherein step 3 comprises calculating the average signal power of thesignal output from each analysis filter.
 7. The process of claim 3wherein step 3 comprises calculating the average power of the signaldefined by the samples output in each bin output by a Fast FourierTransform calculation circuit.
 8. The process of claim 3 furthercomprising the step of recombining the weighted samples calculated instep 5 to generate a narrowband interference excised output signal. 9.The process of claim 3 wherein step 2 is done for each sub band in thetransmission from a cable modem using data transmitted from said cablemodem termination system to said cable modem which sets its transmitpower.
 10. The process of claim 3 wherein step 2 is done for each subband in the transmission from a cable modem by performing the followingsteps: A) averaging the received signal power in each sub band; B)computing the sum of the power of all N sub bands; C) subtracting thesum of the power of a predetermined number L of the strongest sub bandsfrom the total power calculated in step B; D) scale the total powercalculated in step B by the factor N/(N-L) so as to account for thesignal lost by eliminating the signal power of said L strongest subbands to derive a new total power; and E) for each sub band, scale thetotal power by a predetermined factor corresponding to the spectralpower of the transmit filter in the Kth sub band to derive thetransmitted signal power in each sub band.
 11. The process of claim 3wherein step 2 is done as a continuous operation so as to adaptivelytrack variation in received signal power.
 12. An apparatus comprising:means for breaking the incoming received signal into a plurality of subbands; means for calculating a weighting factor for each sub band basedupon the difference or ratio between noise power or amplitude squared orjust plain amplitude of the noise signal and the signal power oramplitude squared or just plain amplitude of the signal power for saidsub band and for multiplying the samples in each sub band by saidweighting factor calculated for said sub band; and means for recombiningthe weighted samples of each sub band to generate an output signal. 13.The apparatus of claim 12 wherein said means for breaking is comprisedof a bank of finite impulse response passband filters each having adifferent center frequency and having passbands that define a pluralityof contiguous sub bands.
 14. The apparatus of claim 12 wherein saidmeans for breaking comprises: a FIFO buffer coupled to receive the inputstream of samples of the received signal; a finite impulse responsefilter for multiplying samples output by said FIFO by coefficient valueswhich define a predetermined filter transfer function or pulse shape forsaid finite impulse response filter; and means for performing a fastfourier transform calculation on samples output from said finite impulseresponse filter to generate a plurality of output streams of samples,each output stream defining the signal in one sub band.
 15. Theapparatus of claim 12 wherein said means for recombining is comprised ofa bank of perfect or near perfect digital FIR reconstruction filters.16. The apparatus of claim 12 wherein said means for recombining iscomprised of: an inverse Fast Fourier Transform calculation circuitcoupled to perform an inverse FFT on weighted samples of each sub band;a parallel to serial converter coupled to convert parallel format outputof said inverse Fast Fourier Transform calculation circuit to serialformat; a first in, first out random access memory (FIFO) coupled toreceive and store samples output by said parallel to serial converter; acoefficients read only memory (ROM) for storing coefficients that definea filter transfer function for a sub band; an index generator coupled tosupply indexes to said coefficients to said FIFO to control output ofsamples therefrom and to supply indexes to said ROM to control output ofcoefficients therefrom; and a multiply and accumulate circuit formultiplying said coefficients times said samples in a predetermined wayand summing the results to generate samples that define a reconstructed,filtered output signal.
 17. A process for using a predictor filter tohelp eliminate noise from received samples in code division multipleaccess circuits, comprising the steps: A) receiving a new sample in apredictor filter used in a code division multiple access circuit topredict the noise in the next received sample having an index beyond theindex of samples in a first in, first out memory (FIFO) which comprisethe state of said prediction filter, and throwing out the oldest sample;B) determining if said new sample represents signal received on thefirst code of a new spreading interval as compared to the spreadinginterval of the next previous sample received; C) if said new sample isfrom the same spreading interval, processing the sample to do aprediction of noise in a future sample and using said prediction toreduce noise in said future sample; D) if said sample is from a newspreading interval, initializing said FIFO in said predictor filter withsamples corresponding to the first L unused codes of the new spreadinginterval; E) calculating the inner product of the state vector definedby the contents of said FIFO with a coefficients vector defined bycoefficients of said predictor filter to produce an estimation of thenoise that will be in the next sample of said new spreading interval andsubtracting said noise estimate from the value of said next sample priorto inputting said next sample into a slicer; F) using a slicer errorthat results from processing by said slicer of said next sample to adaptsaid predictor filter coefficients using any adaptation method designedto adapt said predictor filter coefficients so as to reduce slicererror; G) updating the state of said predictor filter by storing themost recently received interference sample and throwing away the oldestinterference sample; H) determining if said next sample just processedin said slicer is the last sample in said new spreading interval; I) ifsaid next sample just processed in said slicer is the last sample insaid new spreading interval, returning to step D and continuingprocessing of newly received samples starting from step D; J) if saidnext sample just processed in said slicer is not the last sample in saidnew spreading interval, returning to step E and continuing processing ofnewly received samples starting from step E.
 18. An apparatuscomprising: A) means for receiving a new sample in a predictor filterused in a code division multiple access circuit to predict the noise inthe next received sample having an index beyond the index of samples ina first in, first out memory (FIFO) which comprise the state of saidprediction filter, and for throwing out the oldest sample stored in saidFIFO; B) means for determining if said new sample represents signalreceived on the first code of a new spreading interval as compared tothe spreading interval of the next previous sample received; C) meansfor processing said new sample to do a prediction of noise in a futuresample and using said prediction to reduce noise in said future sampleif said new sample is from the same spreading interval; D) means forinitializing said FIFO in said predictor filter with samplescorresponding to the first L unused codes of a new spreading interval ifsaid new sample is from a new spreading interval; E) means forcalculating the inner product of the state vector defined by thecontents of said FIFO with a coefficients vector defined by coefficientsof said predictor filter to produce an estimation of the noise that willbe in the next sample of said new spreading interval and subtractingsaid noise estimate from the value of said next sample prior toinputting said next sample into a slicer; F) means for using a slicererror that results from processing by said slicer of said next sample toadapt said predictor filter coefficients using any adaptation methoddesigned to adapt said predictor filter coefficients so as to reduceslicer error; G) means for updating the state of said predictor filterby storing the most recently received interference sample and throwingaway the oldest interference sample; H) means for determining if saidnext sample just processed in said slicer is the last sample in said newspreading interval; I) means for returning to step D and continuingprocessing of newly received samples starting from step D if said nextsample just processed in said slicer is the last sample in said newspreading interval; J) means for returning to step E and continuingprocessing of newly received samples starting from step E if said nextsample just processed in said slicer is not the last sample in said newspreading interval.